package com.qidian.md.service.impl;

import com.qidian.md.mapper.ItemMapper;
import com.qidian.md.service.ItemService;
import com.qidian.mes.pojo.md.Item;
import com.qidian.mes.pojo.md.ItemType;
import com.qidian.mes.util.pojo.MESResult;
import com.qidian.mes.util.pojo.Pager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @Author 18林梦雅
 * @Company 起点编程
 * @Time 2023/11/2 10:09
 * @Description
 */
@Service
public class ItemServiceImpl implements ItemService {

    @Autowired
    ItemMapper itemMapper;


    @Override
    public MESResult queryByPage(Item item, int page, int limit) {
        Pager<Item> pager=new Pager<>();
        pager.setCurr(page);
        pager.setLimit(limit);
        pager.setTotal( itemMapper.selectCount(item));
        pager.setData(itemMapper.selectByPage(item,(page-1)*limit,limit));
        pager.setMaxPageNum((int) Math.ceil(pager.getTotal()*1.0/limit));
        return MESResult.ok(pager);

    }


    /**
     * 先根据Id查询内容,返回给前端的编辑页面
     * @param itemId
     * @return
     */
    @Override
    public MESResult queryById(Long itemId) {
        Item item = null;
        if ((item = itemMapper.selectById(itemId)) != null){
            return MESResult.ok(item);
        }
        return MESResult.empty();
    }
    /**
     * 根据物料产品id-->物料产品修改编辑
     * 直接更新数据,不用判断物料产品名是否重复,编码是不一样的
     * @param item
     * @return
     */
    @Override
    public MESResult update(Item item) {
        System.out.println(item+"这是更新代码传入");
        return MESResult.updateIsOk(itemMapper.update(item));

    }




    /**
     * 添加物料产品,先判断物料产品名是否重复,再添加
     * @param item
     * @return
     */
    @Override
    public MESResult addItem(Item item) {
//
        return MESResult.updateIsOk(itemMapper.addItem(item));
    }

    /**
     * 单行删除功能
     * @param itemId
     * @return
     */
    @Override
    public MESResult deleteUpdateStatus(Long itemId) {
        return MESResult.ok(itemMapper.deleteById(itemId));
    }

    /**
     * 选中多行删除功能
     * @param itemId
     * @return
     */
    @Override
    public MESResult deleteUpdateSelect(Long[] itemId) {
        int count=itemMapper.deleteSelect(itemId);
        return MESResult.ok(count+" ");
    }






}
